#!/usr/bin/env python

# Create a distribution by doing python setup.py sdist
#
# $Rev: 33 $
#

import os, fnmatch
from distutils.core import setup

try: 
    import py2exe
except:
    print "py2exe not installed"



# find_data_files and opj borrowed from 
# http://wiki.python.org/moin/Distutils/Tutorial

## Code borrowed from wxPython's setup and config files
## Thanks to Robin Dunn for the suggestion.
## I am not 100% sure what's going on, but it works!
def opj(*args):
    path = os.path.join(*args)
    return os.path.normpath(path)

def find_data_files(srcdir, *wildcards, **kw):
    # get a list of all files under the srcdir matching wildcards,
    # returned in a format to be used for install_data
    def walk_helper(arg, dirname, files):
        if '.svn' in dirname:
            return
        names = []
        lst, wildcards = arg
        for wc in wildcards:
            wc_name = opj(dirname, wc)
            for f in files:
                filename = opj(dirname, f)

                if fnmatch.fnmatch(filename, wc_name) and not os.path.isdir(filename):
                    names.append(filename)
        if names:
            lst.append( (dirname, names ) )

    file_list = []
    recursive = kw.get('recursive', True)
    if recursive:
        os.path.walk(srcdir, walk_helper, (file_list, wildcards))
    else:
        walk_helper((file_list, wildcards),
                    srcdir,
                    [os.path.basename(f) for f in glob.glob(opj(srcdir, '*'))])
    return file_list

fileList = find_data_files('images','*')
fileList.extend(find_data_files('sounds','*'))
fileList.extend([('.',['COPYING','CREDITS','INSTALL','README'])])

#print fileList

setup(name='benjAp',
      console=['benjAp.py'],
      version='$Rev: 33 $'.replace(' ','').replace('$','').replace(':','_'),
      description='Simple gamse / activities targetted towards disabled children',
      author='Graham Jones',
      author_email='grahamjones139+benjap@gmail.com',
      url='http://benjap.googlecode.com',
      py_modules=['benjAp',
                  'appBase',
                  'bounceApp',
                  'cometApp',
                  'geometryApp',
                  'starsApp'],
      data_files=fileList
     )
